Loading...
 

Non-regular meshes

During the finite element calculations irregular meshes are also used. They are made of triangular elements in two dimensions or of tetrahedral elements in three dimensions. Unfortunately, the method of creating basis functions through knot vectors does not work on triangular or tetrahedral meshes. Before the isogeometric analysis, it was the most widely used version of the finite element method. Currently, calculations using the finite element method are often integrated with geometric objects created in CAD systems. Then, the need to generate a mesh of irregular elements on geometric objects already described with the B-spline and NURBS functions require additional work overhead and the need to reconcile elements on adjacent geometric objects. On irregular meshes, B-spline functions with higher regularity are not defined due to the fact that B-spline functions are defined on many adjacent rectangular elements. On triangular and tetrahedral elements, polynomials are defined as spanned over elements adjacent to a given vertex or edge. Examples of such functions are Lagrange polynomials or hierarchical polynomials.
The method of defining basis functions on such elements is well described in the books of prof. Leszek Demkowicz [1], [2].
First degree or higher degree polynomials can be defined on each triangular element. A popular way of defining these polynomials is shown in Fig. 1. The triangle marked on it defines the orientation of its three edges, which is important for the formal definition of basis functions and a finite element.

The method of defining the basis functions of the first and higher orders on triangular elements.
Figure 1: The method of defining the basis functions of the first and higher orders on triangular elements.

So, we now have the following options

  • The basis functions of the first-degree polynomials related to the three vertices of the triangle, reaching a maximum of 1 in individual triangle vertices, and 0 in the rest
  • Basis functions polynomials of degree p related to the three edges of the triangle, which are polynomial degrees p on the edge on which they are connected, reaching zeros in all vertices and on the other two edges.
  • Basis functions of polynomials of degree p related to the interior of the triangle, being a polynomial of degrees p over the interior of the triangle, reaching zero at all vertices and edges.

For this purpose, we define two axes of the coordinate system on any triangular element \( \xi_1 \) along one side of the triangle and \( \xi_2 \) along the other side of the triangle.
We define three functions that form the so-called barycentric coordinate system spread over a triangle
\( \lambda_1(\xi_1,\xi_2)=1-\xi_1-\xi_2 \quad \lambda_2(\xi_1,\xi_2)=\xi_1 \quad \lambda_3(\xi_1,\xi_2)=\xi_2 \)
reaching a maximum of 1 in each vertex of the triangle, and 0 in the others.
Function \( \lambda_1 \) is bound to the first vertex at (0,0) in the coordinate system spanned by the axes \( \xi_i \textrm{ and } \xi_2 \).
Function \( \lambda_2 \) is related to the second vertex on the axis \( \xi_1 \). Function \( \lambda_3 \) it is related to the third vertex on the axis \( \xi_2 \).
These functions allow us to define our basis functions that we mark \( \psi_i \). We start with the base functions related to the vertices of the triangle
\( \psi_1(\xi_1,\xi_2)=\lambda_1(\xi_1,\xi_2)=1-\xi_1-\xi_2 \\ \psi_2(\xi_1,\xi_2)=\lambda_2(\xi_1,\xi_2)=\xi_1 \\ \psi_3(\xi_1,\xi_2)=\lambda_2(\xi_1,\xi_2)=\xi_2 \).
So, of course, we have a base function \( \psi_1 \) related to the first vertex at (0,0) in the coordinate system spanned by the axes \( \xi_1 \textrm{ and } \xi_2 \), base function \( \psi_2 \) associated with the second vertex on the axis \( \xi_1 \), and base function \( \psi_3 \) related to the third vertex on the axis \( \xi_2 \).
Building the second-order basis functions on a triangle requires multiplying the basis functions defined on the vertices by themselves. We build functions
\( \psi_4(\xi_1,\xi_2)=\lambda_1(\xi_1,\xi_2)\lambda_2(\xi_1,\xi_2)=(1-\xi_1-\xi_2)\xi_1 \\ \psi_5(\xi_1,\xi_2)=\lambda_2(\xi_1,\xi_2)\lambda_3(\xi_1,\xi_2) =\xi_1\xi_2 \\ \psi_6(\xi_1,\xi_2)=\lambda_3(\xi_1,\xi_2)\lambda_1(\xi_1,\xi_2)= \xi_2(1-\xi_1-\xi_2) \).
So you can see that when multiplying two vertex functions related to the first and second vertices \( \lambda_1 \) and \( \lambda_2 \) gives us the possibility to define a quadratic function spanning the edge between these vertices. Self-multiplication of two vertex functions related to the second and third vertices, \( \lambda_2 \) and \( \lambda_3 \) gives us the possibility to define a quadratic function spanning the edge between these vertices. In turn, multiplication of the vertex functions related to the first and third vertices, \( \lambda_1 \), and \( \lambda_3 \) gives us the possibility to define a quadratic function spanning the third edge of the triangle.
The base function over the interior of an element is defined as the product of all functions
\( \lambda_1 \), \( \lambda_2 \), \( \lambda_3 \).
\( \psi_7(\xi_1,\xi_2)=\lambda_1(\xi_1,\xi_2)\lambda_2(\xi_1,\xi_2)\lambda_3(\xi_1,\xi_2) \)
What does it look like in three dimensions where the elements are tetrahedral? In the case of three dimensions, we need to span the three axes of the coordinate system \( \xi_1, \xi_2, \xi_3 \) along the three edges of the tetrahedron.
Then we define analogous four functions
\( \lambda_1(\xi_1,\xi_2,\xi_3)=1-\xi_1-\xi_2 \xi_3 \\ \lambda_2(\xi_1,\xi_2,\xi_3)=\xi_1 \\ \lambda_3(\xi_1,\xi_2,\xi_3)=\xi_2 \\ \lambda_4(\xi_1,\xi_2,\xi_3)=\xi_3 \)
reaching a maximum of 1 in each vertex of the triangle, and 0 in the others.
We define the basis functions related to the vertices of the tetrahedron
\( \psi_1(\xi_1,\xi_2,\xi_3)=\lambda_1(\xi_1,\xi_2,\xi_3)=1-\xi_1-\xi_2-\xi_4 \\ \psi_2(\xi_1,\xi_2,\xi_3)=\lambda_2(\xi_1,\xi_2,\xi_3)=\xi_1 \\ \psi_3(\xi_1,\xi_2,\xi_3)=\lambda_2(\xi_1,\xi_2,\xi_3)=\xi_2 \\ \psi_4(\xi_1,\xi_2,\xi_3)=\lambda_2(\xi_1,\xi_2,\xi_3)=\xi_3 \).
So we have, of course basis function \( \psi_1 \) related to the first vertex at (0,0,0) in the coordinate system spanned by the axes \( \xi_1, \xi_2, \xi_3 \), base function \( \psi_2 \) associated with the second vertex on the axis \( \xi_1 \), base function \( \psi_3 \) related to the third vertex on the axis \( \xi_2 \), and base function \( \psi_4 \) related to the third vertex on the axis \( \xi_3 \).
Building the second-order basis functions on a tetrahedron requires multiplying the basis functions defined on the vertices by itself. We build edge functions by multiplying two vertex functions
\( \psi_4(\xi_1,\xi_2,\xi_3)=\lambda_1(\xi_1,\xi_2,\xi_3)\lambda_2(\xi_1,\xi_2,\xi_3)=(1-\xi_1-\xi_2-\xi_3)\xi_1 \\ \psi_5(\xi_1,\xi_2,\xi_3)=\lambda_2(\xi_1,\xi_2,\xi_3)\lambda_3(\xi_1,\xi_2,\xi_3)=\xi_1\xi_2 \\ \psi_6(\xi_1,\xi_2,\xi_3)=\lambda_3(\xi_1,\xi_2,\xi_3)\lambda_4(\xi_1,\xi_2,\xi_3)=\xi_2\xi_3 \\ \psi_7(\xi_1,\xi_2,\xi_3)=\lambda_4(\xi_1,\xi_2,\xi_3)\lambda_1(\xi_1,\xi_2,\xi_3)=\xi_1(1-\xi_1-\xi_2-\xi_3) \).
So you can see that when multiplying two vertex functions related to the first and second vertices \( \lambda_1 \) and \( \lambda_2 \) gives us the possibility of defining a function - a second degree polynomial - spanned on the edge between these vertices (the degree of a polynomial is the sum of all exponents of the powers of a non-zero monomial).
Self-multiplication of two vertex functions related to the second and third vertices,
\( \lambda_2 \) and \( \lambda_3 \) gives us the possibility to define a function - polynomial and second degree - spanned on the edge between these vertices. Self-multiplication of two vertex functions related to third and fourth vertices, \( \lambda_3 \) and \( \lambda_4 \) gives us the possibility to define a function - a polynomial of the second degree - spanning on the edge between these vertices. \( \lambda_1 \), and \( \lambda_5 \) gives us the possibility to define a function - a polynomial of the second degree - spanned on the third edge of the triangle.
The basis functions on the element faces are obtained by multiplying the appropriate three basis functions from the vertices surrounding the face
\( \psi_8(\xi_1,\xi_2,\xi_3)=\lambda_1(\xi_1,\xi_2,\xi_3)\lambda_2(\xi_1,\xi_2,\xi_3)\lambda_3(\xi_1,\xi_2,\xi_3)=(1-\xi_1-\xi_2-\xi_3)\xi_1\xi_2 \\ \psi_9(\xi_1,\xi_2,\xi_3)=\lambda_2(\xi_1,\xi_2,\xi_3)\lambda_3(\xi_1,\xi_2,\xi_3)\lambda_4(\xi_1,\xi_2,\xi_3)=\xi_1\xi_2 \xi_3 \\ \psi_{10}(\xi_1,\xi_2,\xi_3)=\lambda_1(\xi_1,\xi_2,\xi_3)\lambda_3(\xi_1,\xi_2,\xi_3)\lambda_4(\xi_1,\xi_2,\xi_3)=(1-\xi_1-\xi_2-\xi_3) \xi_2\xi_3 \\ \psi_{11}(\xi_1,\xi_2,\xi_3)=\lambda_1(\xi_1,\xi_2,\xi_3)\lambda_2(\xi_1,\xi_2,\xi_3)\lambda_4(\xi_1,\xi_2,\xi_3)=(1-\xi_1-\xi_2-\xi_3)\xi_1 \xi_3 \)
Self-multiplication of three vertex functions related to the first, second and third vertices, \( \lambda_1 \), \( \lambda_3 \)
i \( \lambda_3 \) gives us the possibility to define a function - a third degree polynomial \( \psi_8 \) - stretched on the wall between these vertices.
Similarly, self-multiplication of the three vertex functions related to the second, third and fourth vertices
\( \lambda_1, \lambda_3, \lambda_4 \) gives us the possibility to define a function - a third degree polynomial \( \psi_9 \)- stretched on the wall between these vertices.
Self-multiplication of the three vertex functions related to the first, third and fourth vertices \( \lambda_1, \lambda_3, \lambda_4 \) gives us the possibility to define a function - a third degree polynomial \( \psi_{10} \) - stretched on the wall between these vertices.
Finally, multiplying by themselves, the three vertex functions related to the first, second and fourth vertices,
\( \lambda_1, \lambda_2, \lambda_4 \) gives us the possibility to define a function - a third degree polynomial \( \psi_{11} \)- stretched on the wall between these vertices.
The last basis function to define is the function related to the interior of the element. It can be obtained by multiplying the four basis vertex functions
\( \psi_{12}(\xi_1,\xi_2,\xi_3)=\lambda_1(\xi_1,\xi_2,\xi_3)\lambda_2(\xi_1,\xi_2,\xi_3)\lambda_3(\xi_1,\xi_2,\xi_3)\lambda_4(\xi_1,\xi_2,\xi_3)=(1-\xi_1-\xi_2-\xi_3)\xi_1 \xi_2 \xi_3 \).


Ostatnio zmieniona Czwartek 14 z Październik, 2021 09:17:24 UTC Autor: Maciej Paszynski
Zaloguj się/Zarejestruj w OPEN AGH e-podręczniki
Czy masz już hasło?

Hasło powinno mieć przynajmniej 8 znaków, litery i cyfry oraz co najmniej jeden znak specjalny.

Przypominanie hasła

Wprowadź swój adres e-mail, abyśmy mogli przesłać Ci informację o nowym haśle.
Dziękujemy za rejestrację!
Na wskazany w rejestracji adres został wysłany e-mail z linkiem aktywacyjnym.
Wprowadzone hasło/login są błędne.